Single-port memory is generally characterized by its ability to only read data from or write data to the memory on a single-port. Accordingly, it is not possible to simultaneously read a piece of data from or write a piece of data to the memory at the same time. In other words, a single-port memory can only have single access (read/write) at a time.
Also, double pumped memories are reaching limits on how much improvement can be achieved for reads to a memory array. For example, each RAM has limits to how fast it can be run and hence doubling the frequency with respect to the functional clock has practical limitations in hardware.
To increase memory performance, many manufacturers are now adopting multi-port memory devices. For example, multi-port memories are being widely used in electronic applications in which high-speed data transfer is critical such as data buffering, video processing, data communications, etc. Multi-port memory (e.g., dual-port memory), unlike its single-port memory counterpart, is characterized by its ability to read data from or write data to the memory on one port while simultaneously reading a second piece of data from or writing a second piece of data to the memory on another port. Hence, each port provides a separate independent read and write access path for reading data from the memory, or writing new data into the memory. However, multi-port memory adds to complexity and cost of manufacturing.